/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interfaces;

import Controladores.CtrlAgregarEntradaMuro;
import Controladores.CtrlAgregarModerador;
import Controladores.CtrlComentario;
import Controladores.CtrlConexiones;
import Controladores.CtrlCrearGrupo;
import Controladores.CtrlDetallesGrupo;
import Controladores.CtrlDocumentos;
import Controladores.CtrlInicioSesion;
import Controladores.CtrlJuegoDatos;
import Controladores.CtrlModifMiembrosGrupo;
import Controladores.CtrlModifUmbral;
import Controladores.CtrlModificarPuntaje;
import Controladores.CtrlMovil;
import Controladores.CtrlNotificaciones;
import Controladores.CtrlRelojSistema;
import Controladores.CtrlUsuarios;

/**
 *
 * @author Usuario
 */
public class Factory {
    
    private Factory() {
    }
    
    public static Factory getInstance() {
        return FactoryHolder.INSTANCE;
    }


    
    private static class FactoryHolder {

        private static final Factory INSTANCE = new Factory();
    }
    
    public ICtrlDocumentos getDocumentos() {
        return new CtrlDocumentos();
    }
    
    public ICtrlAgregarEntradaMuro getAgregarEntradaMuro(){
        
        return new CtrlAgregarEntradaMuro();
    }
    
    public ICtrlAgregarModerador getAgregarModeradores(){
        
        return new CtrlAgregarModerador();
    }
    
    public ICtrlComentario getComenterios(){
        
        return new CtrlComentario();
        
    }
    
    public ICtrlDetallesGrupo getDetallesGrupo(){
        
        return new CtrlDetallesGrupo();
    }
    
    public ICtrlInicioSesion getInicioSesion(){
        
        return new CtrlInicioSesion();
    }
    public ICtrlJuegoDatos getJuegoDatos(){
        
        return new CtrlJuegoDatos();
    }
    
    public ICtrlModifMiembrosGrupo getModifMiembrosGrupo()
    {
        return new CtrlModifMiembrosGrupo();
    }
    public ICtrlModificarPuntaje getModificarPuntaje(){
        
        return new CtrlModificarPuntaje();
    }
    
    public ICtrlUsuarios getUsuarios(){
        
        return new CtrlUsuarios();
    }
    public ICrearGrupo getCrearGrupos(){
        
        return new  CtrlCrearGrupo();
    }
    public ICtrlRelojSistema getRelojSistema(){
     
        return CtrlRelojSistema.getInstance();
    }

    public ICtrlModifUmbral getModificarUmbral(){
     
        return CtrlModifUmbral.getInstance();
    }
    
    public ICtrlMovil getMovil(){
        return CtrlMovil.getInstance();
    }
    
    public ICtrlNotificaciones getNotificaciones(){
        return new CtrlNotificaciones();
    }
    
    public ICtrlConexiones getConexiones() {
        return new CtrlConexiones();
    }
}
